package com.clear.chain.demo.demo1;

import java.util.concurrent.CompletableFuture;

/**
 * 实现商品活动补全节点
 */
public class ActivityServiceHandler implements ServiceHandler{
    @Override
    public CompletableFuture<Void> handle(ProductInfo productInfo) {
        CompletableFuture<Void> future = new CompletableFuture<>();
        // 模拟异步调用外部服务，修改商品信息对象
        CompletableFuture.runAsync(() ->{
            // 补充商品基础信息数据
            // todo 真实业务中可以需要发起RPC或者是查询数据库
            productInfo.setActivity("618大促");
            // 模拟耗时
            try {
                Thread.sleep(10000);
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
            future.complete(null);
        });
        return future;
    }
}
